package com.goldmantis.alitrip.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.goldmantis.alitrip.common.annotation.*;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

@Table(name = "sys_subsystem")
@ApiModel("sys_subsystem")
public class SysSubsystem {
    /**
     * 主键
     */
    @Id
    @Column(name = "SYSTEMID")
    @Display("主键")
    @ApiModelProperty("主键")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long systemid;

    /**
     * 系统名称
     */
    @Column(name = "SYSNAME")
    @Display("系统名称")
    @ApiModelProperty("系统名称")
    @NotNull
    @Size(min = 0, max = 50 , message = "长度必须在{min}和{max}之间")
    private String sysname;

    /**
     * 别名(系统中唯一)
     */
    @Column(name = "ALIAS")
    @Display("别名(系统中唯一)")
    @ApiModelProperty("别名(系统中唯一)")
    @Size(min = 0, max = 20 , message = "长度必须在{min}和{max}之间")
    private String alias;

    /**
     * 系统的图标
     */
    @Column(name = "LOGO")
    @Display("系统的图标")
    @ApiModelProperty("系统的图标")
    @Size(min = 0, max = 100 , message = "长度必须在{min}和{max}之间")
    private String logo;

    /**
     * 系统首页地址
     */
    @Column(name = "DEFAULTURL")
    @Display("系统首页地址")
    @ApiModelProperty("系统首页地址")
    @Size(min = 0, max = 150 , message = "长度必须在{min}和{max}之间")
    private String defaulturl;

    /**
     * 备注
     */
    @Column(name = "MEMO")
    @Display("备注")
    @ApiModelProperty("备注")
    @Size(min = 0, max = 200 , message = "长度必须在{min}和{max}之间")
    private String memo;

    /**
     * 创建时间
     */
    @Column(name = "CREATETIME")
    @Display("创建时间")
    @ApiModelProperty("创建时间")
    private Date createtime;

    /**
     * 创建人
     */
    @Column(name = "CREATOR")
    @Display("创建人")
    @ApiModelProperty("创建人")
    @Size(min = 0, max = 20 , message = "长度必须在{min}和{max}之间")
    private String creator;

    /**
     * 允许删除
     */
    @Column(name = "ALLOWDEL")
    @Display("允许删除")
    @ApiModelProperty("允许删除")
    private Short allowdel;

    /**
     * 选择组织架构
            (0,不需要选择,1,需要选择)
            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。
            
     */
    @Column(name = "NEEDORG")
    @Display("选择组织架构            (0,不需要选择,1,需要选择)            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。            ")
    @ApiModelProperty("选择组织架构            (0,不需要选择,1,需要选择)            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。            ")
    private Short needorg;

    /**
     * 是否激活
     */
    @Column(name = "ISACTIVE")
    @Display("是否激活")
    @ApiModelProperty("是否激活")
    private Short isactive;

    @Column(name = "ISLOCAL")
    private Short islocal;

    @Column(name = "HOMEPAGE")
    @Size(min = 0, max = 256 , message = "长度必须在{min}和{max}之间")
    private String homepage;

    @Column(name = "SORNO")
    private Byte sorno;

    @Column(name = "PARENTID")
    private Long parentid;

    /**
     * 获取主键
     *
     * @return SYSTEMID - 主键
     */
    public Long getSystemid() {
        return systemid;
    }

    /**
     * 设置主键
     *
     * @param systemid 主键
     */
    public void setSystemid(Long systemid) {
        this.systemid = systemid;
    }

    /**
     * 获取系统名称
     *
     * @return SYSNAME - 系统名称
     */
    public String getSysname() {
        return sysname;
    }

    /**
     * 设置系统名称
     *
     * @param sysname 系统名称
     */
    public void setSysname(String sysname) {
        this.sysname = sysname == null ? null : sysname.trim();
    }

    /**
     * 获取别名(系统中唯一)
     *
     * @return ALIAS - 别名(系统中唯一)
     */
    public String getAlias() {
        return alias;
    }

    /**
     * 设置别名(系统中唯一)
     *
     * @param alias 别名(系统中唯一)
     */
    public void setAlias(String alias) {
        this.alias = alias == null ? null : alias.trim();
    }

    /**
     * 获取系统的图标
     *
     * @return LOGO - 系统的图标
     */
    public String getLogo() {
        return logo;
    }

    /**
     * 设置系统的图标
     *
     * @param logo 系统的图标
     */
    public void setLogo(String logo) {
        this.logo = logo == null ? null : logo.trim();
    }

    /**
     * 获取系统首页地址
     *
     * @return DEFAULTURL - 系统首页地址
     */
    public String getDefaulturl() {
        return defaulturl;
    }

    /**
     * 设置系统首页地址
     *
     * @param defaulturl 系统首页地址
     */
    public void setDefaulturl(String defaulturl) {
        this.defaulturl = defaulturl == null ? null : defaulturl.trim();
    }

    /**
     * 获取备注
     *
     * @return MEMO - 备注
     */
    public String getMemo() {
        return memo;
    }

    /**
     * 设置备注
     *
     * @param memo 备注
     */
    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }

    /**
     * 获取创建时间
     *
     * @return CREATETIME - 创建时间
     */
    public Date getCreatetime() {
        return createtime;
    }

    /**
     * 设置创建时间
     *
     * @param createtime 创建时间
     */
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    /**
     * 获取创建人
     *
     * @return CREATOR - 创建人
     */
    public String getCreator() {
        return creator;
    }

    /**
     * 设置创建人
     *
     * @param creator 创建人
     */
    public void setCreator(String creator) {
        this.creator = creator == null ? null : creator.trim();
    }

    /**
     * 获取允许删除
     *
     * @return ALLOWDEL - 允许删除
     */
    public Short getAllowdel() {
        return allowdel;
    }

    /**
     * 设置允许删除
     *
     * @param allowdel 允许删除
     */
    public void setAllowdel(Short allowdel) {
        this.allowdel = allowdel;
    }

    /**
     * 获取选择组织架构
            (0,不需要选择,1,需要选择)
            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。
            
     *
     * @return NEEDORG - 选择组织架构
            (0,不需要选择,1,需要选择)
            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。
            
     */
    public Short getNeedorg() {
        return needorg;
    }

    /**
     * 设置选择组织架构
            (0,不需要选择,1,需要选择)
            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。
            
     *
     * @param needorg 选择组织架构
            (0,不需要选择,1,需要选择)
            如果用户只属于一个组织读取组织后，放到当前上下文。多个的话则需要选择。
            
     */
    public void setNeedorg(Short needorg) {
        this.needorg = needorg;
    }

    /**
     * 获取是否激活
     *
     * @return ISACTIVE - 是否激活
     */
    public Short getIsactive() {
        return isactive;
    }

    /**
     * 设置是否激活
     *
     * @param isactive 是否激活
     */
    public void setIsactive(Short isactive) {
        this.isactive = isactive;
    }

    /**
     * @return ISLOCAL
     */
    public Short getIslocal() {
        return islocal;
    }

    /**
     * @param islocal
     */
    public void setIslocal(Short islocal) {
        this.islocal = islocal;
    }

    /**
     * @return HOMEPAGE
     */
    public String getHomepage() {
        return homepage;
    }

    /**
     * @param homepage
     */
    public void setHomepage(String homepage) {
        this.homepage = homepage == null ? null : homepage.trim();
    }

    /**
     * @return SORNO
     */
    public Byte getSorno() {
        return sorno;
    }

    /**
     * @param sorno
     */
    public void setSorno(Byte sorno) {
        this.sorno = sorno;
    }

    /**
     * @return PARENTID
     */
    public Long getParentid() {
        return parentid;
    }

    /**
     * @param parentid
     */
    public void setParentid(Long parentid) {
        this.parentid = parentid;
    }
}